commonlibsse_ng\re\n/
NiCollisionObject.rs

1use crate::re::NiAVObject::NiAVObject;
2use crate::re::NiObject::{NiObject, NiObjectVtbl};
3use crate::re::offsets_ni_rtti::NiRTTI_NiCollisionObject;
4use crate::re::offsets_rtti::RTTI_NiCollisionObject;
5use crate::re::offsets_vtable::VTABLE_NiCollisionObject;
6use crate::rel::id::VariantID;
7
8#[repr(C)]
9#[derive(Debug)]
10pub struct NiCollisionObject {
11    pub __base: NiObject,
12    pub sceneObject: *mut NiAVObject,
13}
14const _: () = assert!(core::mem::size_of::<NiCollisionObject>() == 0x18);
15
16impl NiCollisionObject {
17    pub const RTTI: VariantID = RTTI_NiCollisionObject;
18    pub const NI_RTTI: VariantID = NiRTTI_NiCollisionObject;
19    pub const VTABLE: [VariantID; 1] = VTABLE_NiCollisionObject;
20}
21
22impl crate::re::NiSmartPointer::RefCountable for NiCollisionObject {
23    #[inline]
24    fn inc_ref_count(&self) {
25        self.__base.inc_ref_count();
26    }
27
28    #[inline]
29    fn dec_ref_count(&mut self) {
30        self.__base.dec_ref_count();
31    }
32}
33
34/// # Virtual member functions info
35#[repr(C)]
36pub struct NiCollisionObjectVtbl {
37    pub __base: NiObjectVtbl,
38
39    // additional methods
40    pub Unk_25: unsafe extern "C" fn(this: *mut NiCollisionObject), // 0x25
41    pub Unk_26: unsafe extern "C" fn(this: *mut NiCollisionObject), // 0x26
42    pub Unk_27: unsafe extern "C" fn(this: *mut NiCollisionObject), // 0x27
43    pub Unk_28: unsafe extern "C" fn(this: *mut NiCollisionObject), // 0x28
44    pub Unk_29: unsafe extern "C" fn(this: *mut NiCollisionObject), // 0x29
45}
46const _: () = {
47    const FN_COUNT: usize = (1 + 0x29) * core::mem::size_of::<usize>();
48    assert!(core::mem::size_of::<NiCollisionObjectVtbl>() == FN_COUNT);
49};